Interrupts হলো একটি শক্তিশালী ফিচার যা মাইক্রোকন্ট্রোলারকে কোনো বিশেষ ঘটনার জন্য অবিলম্বে প্রতিক্রিয়া জানাতে সক্ষম করে। এটি সাধারণত প্রধান কোডের কার্যক্রম চলাকালীন ঘটে এবং কোনো গুরুত্বপূর্ণ ইভেন্ট ঘটলে মাইক্রোকন্ট্রোলারকে তাৎক্ষণিকভাবে সেই ইভেন্টের সাথে সাড়া দিতে দেয়।
Interrupts প্রধানত দুই ধরনের হয়:
নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি বাটনের প্রেসের জন্য ইন্টারাপ্ট ব্যবহৃত হচ্ছে:
const int buttonPin = 2; // বাটনের পিন
volatile int buttonState = 0; // ইন্টারাপ্টের মাধ্যমে পরিবর্তনশীল মান
void setup() {
pinMode(buttonPin, INPUT); // বাটন পিনকে ইনপুট হিসেবে কনফিগার করা
attachInterrupt(digitalPinToInterrupt(buttonPin), buttonISR, RISING); // ইন্টারাপ্ট সেট করা
Serial.begin(9600); // সিরিয়াল মনিটর শুরু
}
void loop() {
Serial.println(buttonState); // বাটনের অবস্থা প্রিন্ট করা
delay(500); // ০.৫ সেকেন্ড অপেক্ষা
}
void buttonISR() { // ইন্টারাপ্ট রুটিন
buttonState = 1; // বাটন প্রেস হলে মান পরিবর্তন
}
Interrupts ব্যবহার করে Arduino প্রোজেক্টে দ্রুত এবং কার্যকরী প্রতিক্রিয়া নিশ্চিত করা যায়। এটি সেন্সর ডেটা, ব্যবহারকারীর ইনপুট এবং অন্যান্য গুরুত্বপূর্ণ ইভেন্টের জন্য খুবই কার্যকর। Interrupts প্রোগ্রামের কার্যকারিতা এবং কার্যক্ষমতা বাড়ায়, যা বিশেষ করে রিয়েল-টাইম অ্যাপ্লিকেশনগুলোর জন্য অত্যন্ত গুরুত্বপূর্ণ।
common.read_more